"LinuxCNC is a software system for numerical control of machines such as milling machines, lathes, plasma cutters, routers, cutting machines, robots and hexapods. It can control up to 9 axes or joints of a CNC machine using G-code (RS-274NGC) as input. It has several GUIs suited to specific kinds of usage (touch screen, interactive development)."The Norwegian developer gathering take place the weekend June 16th to 18th this year, and is open for everyone interested in contributing to LinuxCNC. Up to date information about the gathering can be found in the developer mailing list thread where the gathering was announced. Thanks to the good people at Debian, Redpill-Linpro and NUUG Foundation, we have enough sponsor funds to pay for food, and shelter for the people traveling from afar to join us. If you would like to join the gathering, get in touch. As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
curl https://geekbay.nuug.no/~pere/openai-whisper/D78F5C4796F353D211B119E28200D9B589641240.asc \ -o /etc/apt/trusted.gpg.d/pere-whisper.asc mkdir -p /etc/apt/sources.list.d cat > /etc/apt/sources.list.d/pere-whisper.list <<EOF deb https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main deb-src https://geekbay.nuug.no/~pere/openai-whisper/ bookworm main EOF apt update apt install openai-whisperThe package work for me, but have not yet been tested on any other computer than my own. With it, I have been able to (badly) transcribe a 2 minute 40 second Norwegian audio clip to test using the small model. This took 11 minutes and around 2.2 GiB of RAM. Transcribing the same file with the medium model gave a accurate text in 77 minutes using around 5.2 GiB of RAM. My test machine had too little memory to test the large model, which I believe require 11 GiB of RAM. In short, this now work for me using Debian packages, and I hope it will for you and everyone else once the packages enter Debian. Now I can start on the audio recording part of this project. As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py", line 485, in __on_save save_plot(fullName, self.scanInfo, self.spectrum, self.locations) File "/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py", line 408, in save_plot handle.write(json.dumps(data, indent=4)) TypeError: a bytes-like object is required, not 'str' Traceback (most recent call last): File "/usr/lib/python3/dist-packages/rtlsdr_scanner/main_window.py", line 485, in __on_save save_plot(fullName, self.scanInfo, self.spectrum, self.locations) File "/usr/lib/python3/dist-packages/rtlsdr_scanner/file.py", line 408, in save_plot handle.write(json.dumps(data, indent=4)) TypeError: a bytes-like object is required, not 'str'As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
#!/bin/sh # # Author: Petter Reinholdtsen # License: GPL v2 or later at your choice. # # Validate the MIME setup, making sure motor types have # application/vnd.openmotor+yaml associated with them and is connected # to the openmotor desktop file. retval=0 mimetype="application/vnd.openmotor+yaml" testfile="test/data/real/o3100/motor.ric" mydesktopfile="openmotor.desktop" filemime="$(xdg-mime query filetype "$testfile")" if [ "$mimetype" != "$filemime" ] ; then retval=1 echo "error: xdg-mime claim motor file MIME type is $filemine, not $mimetype" else echo "success: xdg-mime report correct mime type $mimetype for motor file" fi desktop=$(xdg-mime query default "$mimetype") if [ "$mydesktopfile" != "$desktop" ]; then retval=1 echo "error: xdg-mime claim motor file should be handled by $desktop, not $mydesktopfile" else echo "success: xdg-mime agree motor file should be handled by $mydesktopfile" fi exit $retvalIt is a simple way to ensure your users are not very surprised when they try to open one of your file formats in their file browser. As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
(The picture is of the previous edition.) Almost two years after the previous Norwegian Bokm l translation of the "The Debian Administrator's Handbook" was published, a new edition is finally being prepared. The english text is updated, and it is time to start working on the translations. Around 37 percent of the strings have been updated, one way or another, and the translations starting from a complete Debian Buster edition now need to bring their translation up from 63% to 100%. The complete book is licensed using a Creative Commons license, and has been published in several languages over the years. The translations are done by volunteers to bring Linux in their native tongue. The last time I checked, it complete text was available in English, Norwegian Bokm l, German, Indonesian, Brazil Portuguese and Spanish. In addition, work has been started for Arabic (Morocco), Catalan, Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish, Dutch, French, Greek, Italian, Japanese, Korean, Persian, Polish, Romanian, Russian, Swedish, Turkish and Vietnamese. The translation is conducted on the hosted weblate project page. Prospective translators are recommeded to subscribe to the translators mailing list and should also check out the instructions for contributors. I am one of the Norwegian Bokm l translators of this book, and we have just started. Your contribution is most welcome. As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
Armed with the new and improved at_pid component, the new line will look like this:loadrt pid names=pid.x,pid.y,pid.z
The rest of the HAL setup can stay the same. This work because the components are referenced by name. If the component had used count=3 instead, all use of pid.# had to be changed to at_pid.#. To start tuning the X axis, move the axis to the middle of its range, to make sure it do not hit anything when it start moving back and forth. Next, set the tune-effort to a low number in the output range. I used 0.1 as my initial value. Next, assign 1 to the tune-mode value. Note, this will disable the pid controlling part and feed 0 to the output pin, which in my case initially caused a lot of drift. In my case it proved to be a good idea with X and Y to tune the motor driver to make sure 0 voltage stopped the motor rotation. On the other hand, for the Z axis this proved to be a bad idea, so it will depend on your setup. It might help to set the bias value to a output value that reduce or eliminate the axis drift. Finally, after setting tune-mode, set tune-start to 1 to activate the auto tuning. If all go well, your axis will vibrate for a few seconds and when it is done, new values for Pgain, Igain and Dgain will be active. To test them, change tune-mode back to 0. Note that this might cause the machine to suddenly jerk as it bring the axis back to its commanded position, which it might have drifted away from during tuning. To summarize with some halcmd lines:loadrt at_pid names=pid.x,pid.y,pid.z
After doing this task quite a few times while trying to figure out how to properly tune the PID controllers on the machine in, I decided to figure out if this process could be automated, and wrote a script to do the entire tuning process from power on. The end result will ensure the machine is powered on and ready to run, home all axis if it is not already done, check that the extra tuning pins are available, move the axis to its mid point, run the auto tuning and re-enable the pid controller when it is done. It can be run several times. Check out the run-auto-pid-tuner script on github if you want to learn how it is done. My hope is that this little adventure can inspire someone who know more about motor PID controller tuning can implement even better algorithms for automatic PID tuning in LinuxCNC, making life easier for both me and all the others that want to use LinuxCNC but lack the in depth knowledge needed to tune PID controllers well. As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.setp pid.x.tune-effort 0.1 setp pid.x.tune-mode 1 setp pid.x.tune-start 1 # wait for the tuning to complete setp pid.x.tune-mode 0
This USB stick booted the firmware upgrader just fine, and in a few minutes my machine had the latest and greatest BIOS firmware in place.geteltorito -o usbstick.img lenovo-firmware.iso sudo dd bs=10M if=usbstick.img of=$(ls -tr /dev/sd? tail -1)
This USB stick booted the firmware upgrader just fine, and in a few minutes my machine had the latest and greatest BIOS firmware in place.geteltorito -o usbstick.img lenovo-firmware.iso sudo dd bs=10M if=usbstick.img of=$(ls -tr /dev/sd? tail -1)
mediainfo | ok |
dragonplayer | ok |
ffmpeg / ffplay | ok |
gnome-mplayer | fail |
mplayer | ok |
mpv | ok |
parole | ok |
vlc | ok |
firefox | ok |
chromium | ok |
As version 1.0.0 currently have several unsolved security issues in Debian Stable, and to see if the recent backport provided in Debian is any quicker, I ran apt -t bullseye-backports install aom-tools to fetch the backported version and re-encoded the video using the latest version. This time the '--row-mt=1' option worked, and the encoding was done in 46 seconds with a frame rate of around 5.22 fps. This time it seem to be using all my four cores to encode. Encoding speed is still too low for streaming and real time, which would require frame rates above 25 fps, but might be good enough for offline encoding. I am very happy to see AV1 playback working so well with the default tools in Debian Stable. I hope the encoding situation improve too, allowing even a slow old computer like my 10 year old laptop to be used for encoding. As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.ffmpeg -i some-old-video.ogv -t 10 -pix_fmt yuv420p video.y4m aomenc --fps=24/1 -u 0 --codec=av1 --target-bitrate=1000 \ --lag-in-frames=25 --auto-alt-ref=1 -t 24 --cpu-used=8 \ --tile-columns=2 --tile-rows=2 -o output.webm video.y4m
Next.